Compared with 3G technology, LTE uses a totally new network architecture which reduces the number of network elements, decreases the complexity of signalling processes, uses Internet protocol (IP) based bottom layer design and supports Packet Switched (PS) domain, thus improving the response rate of a control plane and enabling a great improvement in the rate of a data plane with a rate of 50 M/S for an uplink data plane and a rate of 100 M/S for a downlink data plane.
With the increasing development of LTE technology, the acceleration of the commercial process and the gradual promotion and application over the world, LTE networks are widely accepted by the industry due to its higher utilization of the spectrum and higher data rates.
China Mobile already starts construction of commercial LTE networks, but the construction cannot be built at one stroke, at the beginning LTE networks cannot cover all areas, thus in areas without LTE network coverage, GSM networks or TD-S networks are desired to provide services, and therefore at present it is imperative to implement integration of GSM/TD/LTE networks. Accordingly, a mobile phone needs to support multiple network modes.
For a multi-mode mobile phone, it is desired to acquire firstly a current mode where it camps before an AT command is issued, then the AT command is transmitted to a module of a corresponding mode. As shown in FIG. 1, an AT command is a general approach through which an upper layer application interacts with a bottom layer protocol stack, and has a fixed format. When the upper layer application initiates a service, it notifies the protocol stack of a message by way of an AT command, the message is processed by the protocol stack after being parsed, and a result of the processing is reported to the upper layer application by way of an AT command response. In this way, the execution of the AT command is completed. There is a parsing module for the AT command, referred to as an AT Interpreter (ATI) module, between the upper layer application and the bottom layer protocol stack.
FIG. 1 is a schematic flow chart showing the operation of an AT command in the prior art. The AT command operates by way of “question and answer” mode, i.e., after one AT command is transmitted to a protocol stack, the protocol stack needs to transmit a response to the ATI according to a result of the processing after completing processing so as to report the result of the processing. Before the protocol stack returns the result of the processing (AT response), the AT command cannot be issued once again and a issued AT command will be denied.
The AT command is transmitted in a format specified by a protocol, but the protocol stack cannot identify the format, so the ATI is desired to decode it, parse valid information elements thereof and perform a preliminary validity determination so as to construct a corresponding message to be transmitted to the protocol stack; a result reported by the protocol stack is formed into a format of the AT response so as to be reported to the upper layer application.
AT commands implement four operations:
1. an action command for performing an action, e.g., starting to selecting a network or activating a bearer;
2. a setting command for setting several parameters, e.g., defining bearer context or setting QoS;
3. a query command for querying several parameters, e.g., querying attachment status or bearing TFT; and
4. a testing command for querying a value range of a parameter, e.g., querying a value range of QoS.
Among above operations, only the action command needs to perform process interaction with a network side while other commands can be completed independently at the mobile phone side.
FIG. 2 shows a processing process in the case that an existing mobile phone loses coverage after attachment, as shown in FIG. 2, when the mobile phone normally attaches to a network after being powered on, the protocol stack will record the currently-attached network. After an AT command is issued, an ATI transmits the AT command to a Non-Access Stratum (NAS) module of the corresponding mode according to the current mode which the protocol stack maintains. If coverage losing occurs, the protocol stack empties the current mode and sets the current mode to be invalid. The mobile phone starts a timer, searches periodically for an appropriate cell and attempts to camp on a cell. Once the mobile phone camps successfully on the cell, a current mode is recorded. If the current mode is the same as a mode used before the coverage is lost, there will be no special process; otherwise, if the current mode is different from the previous mode, a re-selection will be initiated and the protocol stack will switch to the new mode.
FIG. 3 shows a schematic processing process of an existing mobile phone during mode switching. Taking a switching from LTE to TD as shown in FIG. 3 as an example, after the mobile phone implements attachment to a LTE network, the signal strength of the LTE network becomes poor, the mobile phone finds a cell of a TD network, successfully resides therein and determines to perform handover, then a general control module will notify a data plane to stop data transmission (if there is data being transmitted), set the current mode as TD and notify a NAS of the LTE to start handover. Then, the NAS stops ongoing processes (if any), and transfers in sequence control information to a NAS of the TD. After the transfer of control information completes, the data plane is notified to deliver data not yet transmitted through the LTE to the TD for transmission, and the TD re-starts processes not yet completed in the LTE.
Generally, after a multi-mode mobile phone is powered on and camps on a certain mode, a protocol stack records whether a currently camped mode is LTE or TD/GSM (abbreviated as TG), and modules receiving AT commands in the protocol stack are all in a NAS. Before an ATI issues one AT command, it may query the currently-camped mode and send the AT command to a NAS of the mode. Under normal circumstances, this processing method is reasonable.
Two abnormal scenarios are considered below.
First, after a mobile phone is normally powered on and camps on a certain mode, it loses coverage.
As shown in FIG. 2, taking the case that the mobile phone camps on LTE after being powered on as an example, when the signal strength becomes poor, coverage losing occurs and the mobile phone cannot find any cells, then a current mode may be emptied (i.e., not being able to camp on any mode). A new mode cannot be recorded until an appropriate cell is found.
In this case, after the mobile phone is powered on, each time the ATI transmits an AT command it may find that the current mode is LTE, and thus the AT command is transmitted to a NAS of the LTE. After the coverage losing occurs, when an AT command is further transmitted, the ATI may not find valid modes, then the case that the AT command cannot be delivered may arise.
Second, the AS already changes the mode but the NAS is still during switching.
As shown in FIG. 3, the case that the mobile phone camps on LTE after being powered on is still taken as an example. When a signal changes, the signal of LTE becomes poor while the signal of TD becomes strong, the AS starts switching after measuring the signal, modifies the current mode as TD and notifies the NAS to perform switching of the control plane. The NAS of the LTE ceases ongoing processes, starts performing switching and transfers various control information to a TD module. After the transfer of control information and data completes, services will be resumed in the TD. If there is an AT command desired to be issued during the transfer and the ATI finds that the current mode is TD, the AT command is transmitted to the NAS of TD, but at this moment data of the control plane is not yet or being transmitted to the TD, while subsequent processes cannot be triggered in the case that the control information is not yet completely available, that is to say, though the NAS of the TD receives the AT command at that moment but the AT command cannot be executed.